using System;
using System.ComponentModel;
using System.Collections;
using System.Collections.Generic;
using Eco.Services;
using Eco.ObjectRepresentation;
using Eco.ObjectImplementation;
using Eco.UmlRt;
using Eco.UmlCodeAttributes;

namespace CommandGraph.Model
{

	[UmlElement("Package", Id="fd33b5c1-a9b5-42eb-9fa6-6f26a7c687a0")]
	[EcoCodeGenVersion("3.0")]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.ActiveTransition))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddActiveTransitionTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddCommentTransitionTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddCommentVertexTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddCompositeVertexTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddFinishVertexTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddIfVertexTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddInflectionTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddLoopTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddStartVertexTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddTransitionTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddVertexTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AddWaitVertexTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.AnchorPoint))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.CommandsGraph))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.CommandsGraphCompilationUnit))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.CommandsGraphLoaderTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.CommentTransition))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.CommentVertex))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.CompositeVertex))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.EditTimeCompilationTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.EntityManager))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.ExpressionVertex))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.FinishVertex))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.ForkAndJoin))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.Graph))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.GraphEntityBase))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.GraphPainterTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.GraphVariable))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.IfVertex))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.InflectionPoint))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.LoopBody))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.LoopCondition))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.MovableEntity))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.MoveAnchorPointTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.MoveTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.ResizeTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.SelectionTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.StartVertex))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.ToolBase))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.ToolBox))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.Transition))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.UndoTool))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.VariablesEditorVertex))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.Vertex))]
	[UmlMetaAttribute("ownedElement", typeof(CommandGraph.Model.WaitVertex))]
	public abstract class CommandGraphPackage
	{
		#region Associations
		[UmlElement("Association", Id="{eb8dc6bf-fd3e-48af-ae31-09ab6de88ed8}")]
		public class SelectionGraphEntityBase
		{
		}

		[UmlElement("Association", Id="{1c48e71d-b416-4e83-bc03-7da184f5d5cb}")]
		public class GraphGraphEntityBase
		{
		}

		[UmlElement("Association", Id="{03d57f3e-9ac1-4b76-89e8-e073b5eafef7}")]
		public class GraphPainterGraph
		{
		}

		[UmlElement("Association", Id="{ee36439c-a3f5-4ffb-9e88-5f10554dc04a}")]
		[UmlTaggedValue("persistence", "transient")]
		public class GraphEntityBaseGraphPainter
		{
		}

		[UmlElement("Association", Id="{17d3fb93-3c46-4ed1-8556-8de97e9c93a3}")]
		[UmlTaggedValue("persistence", "transient")]
		public class ToolBoxEcoDictionary
		{
		}

		[UmlElement("Association", Id="{e1170756-485a-482d-b432-9bf3215fbdd6}")]
		[UmlTaggedValue("persistence", "transient")]
		public class VertexEcoRectangle
		{
		}

		[UmlElement("Association", Id="{7d5e3775-bbfb-4aa7-89fc-e2e22e979d42}")]
		public class TransitionAnchorPoint
		{
		}

		[UmlElement("Association", Id="{e268ae67-daa6-4674-86c8-706808812147}")]
		public class TransitionAnchorPoint1
		{
		}

		[UmlElement("Association", Id="{85ab4dae-9f7d-4a0a-a9a7-91ba34e618f2}")]
		public class AnchorPointGraphEntityBase
		{
		}

		[UmlElement("Association", Id="{0851c621-fa95-41fb-b0df-818ff2cd0a53}")]
		public class AnchorPointTransition
		{
		}

		[UmlElement("Association", Id="{d52bb46d-f9e1-44b6-97ff-3047a641a8fb}")]
		[UmlTaggedValue("persistence", "transient")]
		public class MovableEntityEcoPoint
		{
		}

		[UmlElement("Association", Id="{9f8a29a4-658b-47b1-be83-5848be5ba763}")]
		public class TransitionInflectionPoint
		{
		}

		[UmlElement("Association", Id="{e17e0893-d1f8-498b-abbe-f06287c01125}")]
		[UmlTaggedValue("persistence", "transient")]
		public class GraphEntityBaseEntityManager
		{
		}

		[UmlElement("Association", Id="{b48d6ca7-243e-491f-a784-3f285e3e2d1e}")]
		public class CompositeVertexGraphEntityBase
		{
		}

		[UmlElement("Association", Id="{4e6de191-79e4-4103-a184-5ebd266fcd9c}")]
		public class GraphEntityBaseGraphEntityBase
		{
		}

		[UmlElement("Association", Id="{c266b9b8-b129-4067-bc9c-2fe0279042fd}")]
		[UmlTaggedValue("persistence", "transient")]
		public class ToolBaseToolBox
		{
		}

		[UmlElement("Association", Id="{83380078-7f04-417d-9f0e-cfab34a88745}")]
		[UmlTaggedValue("persistence", "transient")]
		public class ResizeToolVertex
		{
		}

		[UmlElement("Association", Id="{cbc0c9c5-5efc-41bf-9fa3-6515dde09564}")]
		[UmlTaggedValue("persistence", "transient")]
		[UmlTaggedValue("derived", "True")]
		public class ForkAndJoinActiveTransition
		{
		}

		[UmlElement("Association", Id="{11cd3165-2349-4456-b6fb-d5c80b99a66d}")]
		[UmlTaggedValue("persistence", "transient")]
		[UmlTaggedValue("derived", "True")]
		public class ForkAndJoinActiveTransition1
		{
		}

		[UmlElement("Association", Id="{78d7a2dc-0f83-476a-b8e4-af2c8bdbb9c4}")]
		public class LoopConditionLoopBody
		{
		}

		[UmlElement("Association", Id="{6b9a5cd7-03db-4599-9a81-46e394ddfc15}")]
		public class IfVertexActiveTransition
		{
		}

		[UmlElement("Association", Id="{35087c0e-9c0d-401b-b1b4-5974a613f424}")]
		public class IfVertexActiveTransition1
		{
		}

		[UmlElement("Association", Id="{8a4fddbc-2953-4f0b-86ba-20e16d79a2a8}")]
		[UmlTaggedValue("persistence", "transient")]
		public class AddStartVertexToolAddVertexTool
		{
		}

		[UmlElement("Association", Id="{dcfbb1be-b682-4a6f-ab1d-5808caab7c99}")]
		public class CommandGraphFinishVertex
		{
		}

		[UmlElement("Association", Id="{dd1dfd0e-5ca6-4e85-ae78-1f0b7bab4e63}")]
		public class CommandGraphStartVertex
		{
		}

		[UmlElement("Association", Id="{8d28a90a-1709-4552-b5bc-0a4f543907e4}")]
		public class GraphGraphVariable
		{
		}

		[UmlElement("Association", Id="{513a2717-d162-4327-9641-4fb6d97e7894}")]
		[UmlTaggedValue("persistence", "transient")]
		public class GraphToolBox
		{
		}

		[UmlElement("Association", Id="{58b19fe3-0266-4fc4-a042-a77f318531d5}")]
		public class ExpressionVertexCommandsGraph
		{
		}

		[UmlElement("Association", Id="{d721cf27-3837-4571-8c64-03dce7becc4d}")]
		public class ActiveTransitionCommandsGraph
		{
		}

		[UmlElement("Association", Id="{c37a7409-40b3-4bf9-b7c8-e313c1e4635e}")]
		public class VariablesEditorVertexCommandsGraph
		{
		}

		[UmlElement("Association", Id="{00a24501-8dea-4717-8739-74c08b440334}")]
		[UmlTaggedValue("persistence", "transient")]
		public class ActiveTransitionEcoPoint
		{
		}
		#endregion

		#region Non-navigable association ends
		[UmlMetaAttribute("association", typeof(CommandGraphPackage.SelectionGraphEntityBase), Index=0)]
		[UmlElement("AssociationEnd", Id="{1c42af4b-9045-46a7-b433-fa506d67e901}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class SelectionGraphEntityBase_Selection
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.GraphGraphEntityBase), Index=0)]
		[UmlElement("AssociationEnd", Id="{a1bc6b98-61b0-4324-8509-943de175f174}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class GraphGraphEntityBase_Graph
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.GraphPainterGraph), Index=0)]
		[UmlElement("AssociationEnd", Id="{b52c7302-d659-40d4-a1c0-0f5e430c7889}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class GraphPainterGraph_GraphPainter
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.GraphEntityBaseGraphPainter), Index=0)]
		[UmlElement("AssociationEnd", Id="{1918a91a-b26d-46b8-931f-3650ee99c1b7}")]
		[UmlMetaAttribute("multiplicity", "0..*")]
		public class GraphEntityBaseGraphPainter_GraphEntityBase
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.ToolBoxEcoDictionary), Index=0)]
		[UmlElement("AssociationEnd", Id="{f92a0aad-baac-4a8d-83c8-d580a3c8f124}")]
		[UmlMetaAttribute("multiplicity", "0..1")]
		public class ToolBoxEcoDictionary_ToolBox
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.VertexEcoRectangle), Index=0)]
		[UmlElement("AssociationEnd", Id="{b28442eb-84ad-46da-9aa4-9c94cdce6509}")]
		[UmlMetaAttribute("multiplicity", "0..*")]
		public class VertexEcoRectangle_Vertex
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.TransitionAnchorPoint), Index=0)]
		[UmlElement("AssociationEnd", Id="{1490f2ad-44ec-4216-b42c-a46b6f749008}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class TransitionAnchorPoint_Transition
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.TransitionAnchorPoint1), Index=0)]
		[UmlElement("AssociationEnd", Id="{9c3b92f2-ff65-4d22-bfe7-e005160cd4cb}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class TransitionAnchorPoint1_Transition
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.AnchorPointGraphEntityBase), Index=1)]
		[UmlElement("AssociationEnd", Id="{b1cdd1a3-09ed-47d4-8ec2-004243be7243}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class AnchorPointGraphEntityBase_ParentEntity
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.AnchorPointTransition), Index=0)]
		[UmlElement("AssociationEnd", Id="{9134154a-670d-4c2d-b7d5-051d68970d5a}")]
		[UmlMetaAttribute("multiplicity", "0..*")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class AnchorPointTransition_AnchorPoint
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.MovableEntityEcoPoint), Index=0)]
		[UmlElement("AssociationEnd", Id="{b4459813-e0be-4edf-9c79-ca792f7e301f}")]
		[UmlMetaAttribute("multiplicity", "0..*")]
		public class MovableEntityEcoPoint_MovableEntity
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.GraphEntityBaseEntityManager), Index=0)]
		[UmlElement("AssociationEnd", Id="{9d6c7b47-fc51-4de9-8ae6-68378bb695d7}")]
		[UmlMetaAttribute("multiplicity", "0..*")]
		public class GraphEntityBaseEntityManager_GraphEntityBase
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.CompositeVertexGraphEntityBase), Index=0)]
		[UmlElement("AssociationEnd", Id="{d84d9b9e-465e-44aa-a837-e1f0e504a7fa}")]
		[UmlMetaAttribute("multiplicity", "0..1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class CompositeVertexGraphEntityBase_ParentVertex
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.GraphEntityBaseGraphEntityBase), Index=1)]
		[UmlElement("AssociationEnd", Id="{86bdff61-25a3-43a4-9420-e572298f67e0}")]
		[UmlMetaAttribute("multiplicity", "0..*")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class GraphEntityBaseGraphEntityBase_Target_GraphEntityBase
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.ToolBaseToolBox), Index=0)]
		[UmlElement("AssociationEnd", Id="{d9327a44-1ea1-41fd-bf3a-2fd88a655044}")]
		[UmlMetaAttribute("multiplicity", "0..*")]
		public class ToolBaseToolBox_ToolBase
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.ResizeToolVertex), Index=0)]
		[UmlElement("AssociationEnd", Id="{5e91e589-f3cd-4d49-8be3-aadbadd773cf}")]
		[UmlMetaAttribute("multiplicity", "0..1")]
		public class ResizeToolVertex_ResizeTool
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.ForkAndJoinActiveTransition), Index=0)]
		[UmlElement("AssociationEnd", Id="{3853c5d8-f2a0-486a-af35-05050699908d}")]
		[UmlMetaAttribute("multiplicity", "0..1")]
		[UmlTaggedValue("Eco.HasUserCode", "True")]
		public class ForkAndJoinActiveTransition_ForkAndJoin
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.ForkAndJoinActiveTransition1), Index=0)]
		[UmlElement("AssociationEnd", Id="{1d61fa27-c874-4883-9663-bf73ecef30d6}")]
		[UmlMetaAttribute("multiplicity", "0..1")]
		[UmlTaggedValue("Eco.HasUserCode", "True")]
		public class ForkAndJoinActiveTransition1_ForkAndJoin
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.IfVertexActiveTransition), Index=0)]
		[UmlElement("AssociationEnd", Id="{6f45ba95-7f40-4ee4-a432-25e92bbe9834}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class IfVertexActiveTransition_IfVertex
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.IfVertexActiveTransition1), Index=0)]
		[UmlElement("AssociationEnd", Id="{3d23d637-9a3e-46e0-9ab7-ad03a5cd440d}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class IfVertexActiveTransition1_IfVertex
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.CommandGraphFinishVertex), Index=0)]
		[UmlElement("AssociationEnd", Id="{9516b446-3272-4293-a74e-31836b05bcf8}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class CommandGraphFinishVertex_CommandGraph
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.CommandGraphStartVertex), Index=0)]
		[UmlElement("AssociationEnd", Id="{a96d72d9-ea4f-4f15-a1ca-630c3435bd7b}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class CommandGraphStartVertex_CommandGraph
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.GraphGraphVariable), Index=0)]
		[UmlElement("AssociationEnd", Id="{71a35bd7-6542-4910-8469-4e6fc956969f}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class GraphGraphVariable_Graph
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.GraphToolBox), Index=0)]
		[UmlElement("AssociationEnd", Id="{4759219b-691a-484a-bb11-6696d8b8955c}")]
		[UmlMetaAttribute("multiplicity", "0..1")]
		public class GraphToolBox_Graph
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.ExpressionVertexCommandsGraph), Index=0)]
		[UmlElement("AssociationEnd", Id="{bd19144f-d452-46ca-934e-132ac9d22294}")]
		[UmlMetaAttribute("multiplicity", "0..*")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class ExpressionVertexCommandsGraph_ExpressionVertex
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.ActiveTransitionCommandsGraph), Index=0)]
		[UmlElement("AssociationEnd", Id="{04349298-c65a-422b-bcb5-f6f98434035a}")]
		[UmlMetaAttribute("multiplicity", "0..*")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class ActiveTransitionCommandsGraph_ActiveTransition
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.VariablesEditorVertexCommandsGraph), Index=0)]
		[UmlElement("AssociationEnd", Id="{5012e835-90e7-4cb5-852b-cbf6d281030c}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class VariablesEditorVertexCommandsGraph_VariablesEditorVertex
		{
		}

		[UmlMetaAttribute("association", typeof(CommandGraphPackage.ActiveTransitionEcoPoint), Index=0)]
		[UmlElement("AssociationEnd", Id="{43adc9b8-9a46-4d81-b061-19abb2fa6c98}")]
		[UmlMetaAttribute("multiplicity", "0..1")]
		public class ActiveTransitionEcoPoint_ActiveTransition
		{
		}
		#endregion
	}
}
